#include "DynamicSequenceTable.h"

int main()
{
    SeqList L;
    // 初始化
    L.SeqListInit(2);

    // 尾插
    L.SeqListPushBack(1); // 1
    L.SeqListPushBack(2); // 1 2
    L.SeqListPushBack(3); // 1 2 3
    L.SeqListPushBack(4); // 1 2 3 4 
    L.SeqListPushBack(5); // 1 2 3 4 5
    L.SeqListPrint();

    // 尾删
    L.SeqListPopBack(); // 1 2 3 4
    L.SeqListPrint();
    L.SeqListPopBack(); // 1 2 3 
    L.SeqListPrint();

    // 头插
    L.SeqListPushFront(0); // 0 1 2 3
    L.SeqListPrint();

    // 头删
    L.SeqListPopFront(); // 1 2 3
    L.SeqListPrint();

    // 查找
    L.SeqListFind(1); // 0
    L.SeqListFind(2); // 1
    L.SeqListFind(3); // 2
    L.SeqListFind(4); // 没找到

    // 指定位置插入
    L.SeqListInsert(1, 0); // 0 1 2 3
    L.SeqListPrint();
    L.SeqListInsert(3, 0); // 0 1 0 2 3
    L.SeqListPrint();
    L.SeqListInsert(5, 0); // 0 1 0 2 0 3
    L.SeqListPrint();
    L.SeqListInsert(7, 0); // 0 1 0 2 0 3 0
    L.SeqListPrint();
    L.SeqListInsert(9, 0); // 不合法
    L.SeqListPrint();

    // 指定位置删除
    L.SeqListErase(9); //不合法
    L.SeqListPrint();
    L.SeqListErase(7); // 0 1 0 2 0 3
    L.SeqListPrint();
    L.SeqListErase(5); // 0 1 0 2 3
    L.SeqListPrint();
    L.SeqListErase(3); // 0 1 2 3
    L.SeqListPrint();
    L.SeqListErase(1); // 1 2 3
    L.SeqListPrint();

    // 销毁
    L.SeqListDestory();
    L.SeqListPrint();
    return 0;
}